Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from web-platform-tests:master #42

Open
wants to merge 2,502 commits into
base: master
Choose a base branch
from

Conversation

pull[bot]
Copy link

@pull pull bot commented Aug 8, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Aug 8, 2024
masayuki-nakano and others added 29 commits January 10, 2025 22:59
… are preformatted

The form of <https://discussions.apple.com/> handles newly inserted `Text` nodes
asynchronously after pasted.  Then, the text will be wrapped into `<p>`
elements.  However, the handler does not assume that multiple and consecutive
`Text` nodes are inserted by a pasting.  Therefore, they fail handling our
pasted text which was split to each line and each preformatted linefeed.

Chrome puts only one `Text` node at pasting multiline plaintext and following
this behavior fixes the issue in the form.  Therefore, we should follow the
behavior at least for now.

Differential Revision: https://phabricator.services.mozilla.com/D233619

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1940653
gecko-commit: e3417a5f4b06281e1fa68fdec8c6baf7248d11a4
gecko-reviewers: m_kato
These customizable select tests belong in the customizable-select
subdirectory of the-select-element, so this patch moves them there.

Change-Id: Ic5c8257a601d35f77d5ed09d97466878764d466b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6093890
Auto-Submit: Joey Arhar <[email protected]>
Reviewed-by: Traian Captan <[email protected]>
Commit-Queue: Traian Captan <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405042}
This CL introduces the parsing for the CSS property masonry-auto-tracks.

This is part of: https://chromestatus.com/feature/5149560434589696

The properties are behind the CSSMasonryLayout feature flag. The spec
definition for masonry-auto-tracks can be found here:
https://drafts.csswg.org/css-grid-3/#propdef-masonry-auto-tracks

Bug: 343257585
Change-Id: I33a72c50f662195934d1f7af8e199b477546fd89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6161598
Reviewed-by: Alison Maher <[email protected]>
Reviewed-by: Ethan Jimenez <[email protected]>
Commit-Queue: Celeste Pan <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405087}
Differential Revision: https://phabricator.services.mozilla.com/D231736

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1934525
gecko-commit: 99281d5df65b0081d3066ad9a09e3d3d5b5b7c1c
gecko-reviewers: emilio
* [wdspec] add basic context locator tests

* Update webdriver/tests/bidi/browsing_context/locate_nodes/invalid.py

* Update webdriver/tests/bidi/browsing_context/locate_nodes/locator.py
The current behavior of both `text-overflow: ellipsis` and
`(-webkit-)line-clamp` with respect to positioning the ellipsis is
that after the inline items are positioned, glyphs and other inline
items will be truncated from the visual end of the line until there is
enough space for the ellipsis to fit in the line box, and then the
ellipsis is placed at that position.

For `(-webkit-)line-clamp`, this disagrees with the upcoming
specification, which says that rather than truncating glyphs one by
one, instead all inline content should be truncated until the last
break opportunity where the ellipsis would fit. Furthermore, inline
content should be truncated logically, rather than visually.
And there is an open discussion in
w3c/csswg-drafts#10844 about where the
ellipsis should be positioned in bidi content, which might not be at
the visual end of the line.

This means that the ellipsis should be taken into account at the line
breaking phase. We tried laying out the ellipsis as part of
`LineBreaker` and somehow including it in the `InlineItemResult`s it
produces, but we found it was not always feasible. Instead, we shape
the ellipsis in the `InlineLayoutAlgorithm`, pass its width to
`LineBreaker`, and then in `LogicalLineBuilder` we add a
`LogicalLineItem` for the ellipsis just before bidi reordering.

This also fixes a long-standing bug where lines with the `line-clamp`
ellipsis were not properly aligned or justified (bug 40265829). This
happened because the line content was only trimmed, and the ellipsis
was only shaped, after every `LogicalLineItem` was positioned
according to the alignment and justification. With this patch, since
the trimming and ellipsis shaping happens during line breaking, and
the ellipsis `LogicalLineItem` is created at the same time as other
`LogicalLineItem`s, the ellipsis behaves the same as any other inline
content for alignment and justification.

Some WPT and internal tests break with this change. Some of them are
tests that were written expecting the previous behavior, and probably
need to be updated. But others show that this implementation is
incomplete. Therefore, we are putting this behind the runtime feature
`CSSLineClampLineBreakingEllipsis`.

Bug: 40336192, 40265829
Change-Id: I2d5a645899734b8dea5b0929906b7835b45bd50e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6106171
Reviewed-by: Andreu Botella <[email protected]>
Reviewed-by: Koji Ishii <[email protected]>
Commit-Queue: Andreu Botella <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405438}
* trusted-types-duplicate-names-without-enforcement.html: this test is
  about createPolicy(), it actually never executes the default policy
  so we cannot check the sink value.

* worker-constructor.https.html: This checks a sink value, conditioning
  the expectations on the input string but that one is always a URL.
  Fix that by actually saving the seen parameters and testing them
  in the promise tests.

* block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.html:
  some fixes were made in https://phabricator.services.mozilla.com/D232984
  but it wrongly uses globalThisStr. We need to something similar to what
  DOMWindowTimers-setTimeout-setInterval.js does instead.
…attributes (#50025)

Add tests for setAttribute/setAttributeNS and content event handler attributes

* Factor out the code generating the list of event handler attribute from TrustedTypePolicyFactory-getAttributeType-event-handler-content-attributes.tentative.html into a event-handler-attributes.mjs module.
* Use this to write tests for setAttribute/setAttributeNS for all event handler attributes.
#50022)

These properties allow to change a script text or URL and need special
attention. Existing tests for them are scattered over multiple files
and check many other things. This new test focuses on checking whether
setting these properties to a plain string would be blocked by a default
policy, and what trusted type name and sink names would be passed to the
corresponding create callback. We try setting the properties on
HTMLDivElement, HTMLScriptElement or SVGScriptElement when they exist.
…butes (#50046)

This is a tentative test for [1] covering bullet 3 from [2]. There is
a separate PR to cover the bullet 2 [3]. Most of these are probably
already covered by other tests but assertions are scattered into
multiple files as a side check in the default policy callback, so they
are hard to understand and to guarantee they actually run (some mistakes
were previously found about this in the past).

Additionally, this new test cover both setAttribute and setAttributeNS
and ensure the correct callback is called exactly once with proper
attributes (e.g. to verify a call to setAttribute does not trigger the
callback with the parameters of a reflected IDL attribute).

[1] whatwg/dom#1268
[2] https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-data-for-attribute
[3] #50025
…50043)

* Remove unrelated checks from trusted-types-svg-script-set-href.html

This test is intended to cover setting href [1] [2] but it also
currently verifies some (currently not specified) unrelated behavior
when setting the text of the script via innerHTML. A similar test exist
in block-text-node-insertion-into-svg-script-element.html, but for a
disconnected script. This PR just move the unrelated test to
trusted-types-svg-script.html instead.

[1] w3c/svgwg#934
[2] whatwg/dom#1268
When run with WebDriver-backed testdriver, this test hangs in all
browsers [0] because the popup thinks that it's the testharness browsing
context. This causes `test_driver.minimize_window()` to enqueue a
command in the wrong window, which the harness never services.

This CL removes `testharness(report).js` from the popup's markup and
instructs testdriver to send commands to the testharness window instead
with `set_test_context()` [1]. Internally, this `postMessage()`s the
command with a unique ID identifying the popup [2].

This timeout doesn't occur for `content_shell` because it implements
testdriver directly with nonstandard JS bindings.

[0]: https://wpt.fyi/results/css/css-view-transitions/navigation/pageswap-in-hidden-doc-should-skip-transition.html?run_id=5078876080570368&run_id=5171541744812032&run_id=5150416142860288&run_id=5129648331816960
[1]: https://web-platform-tests.org/writing-tests/testdriver.html#test_driver.set_test_context
[2]: https://github.com/web-platform-tests/wpt/blob/71341371/tools/wptrunner/wptrunner/testdriver-extra.js#L172-L173

Bug: None
Change-Id: I62e740d5ccef2303c468dd91d0af368daee17dae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6160579
Commit-Queue: Jonathan Lee <[email protected]>
Reviewed-by: Noam Rosenthal <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405572}
Passes in Firefox, fails in Chrome.

Bug: 40653832

Change-Id: I00265e285aa7c0d84b35504949d6ab39b40fc88a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6168507
Reviewed-by: Robert Flack <[email protected]>
Commit-Queue: Chris Harrelson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405742}
Update masonry web tests to use the new spec link
"https://drafts.csswg.org/css-grid-3".

Bug: 343257585
Change-Id: I608ec5fdc2a9c2f3c0e9b002da93d7f9de3192bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6164332
Reviewed-by: Alison Maher <[email protected]>
Commit-Queue: Celeste Pan <[email protected]>
Reviewed-by: Kurt Catti-Schmidt <[email protected]>
Reviewed-by: Ethan Jimenez <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405745}
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.11.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@4f58ea7...b32b51a)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ImageSmoothingQuality have launched for Canvas 2D and OffscreenCanvas,
and it's under a flag in Paint Canvas. The flag is set to "true" by
default for a long time in Paint Canvas and ImageSmoothingQuality is
marked as launched. It should be launched as Paint Canvas as well.

Approval reference: https://groups.google.com/a/chromium.org/g/blink-dev/c/jDvKH3Ib3ZI/m/kIrLzGioCgAJ

Bug: 383575391

Change-Id: I2bb8b4a180cdc933fd5a1a10537ef95d0e25048a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6078244
Commit-Queue: Yi Xu <[email protected]>
Reviewed-by: Domenic Denicola <[email protected]>
Reviewed-by: Jean-Philippe Gravel <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405846}
This CL adds IDL and mojo definition of notEqual operator according to
the spec issue [1] and implements it on DirectML, CoreML and TFLite
backends.

This CL also fixes the implementation of element-wise binary in the
TFLite backend, where we missed to convert the output of some logical
operators (such as equal, greater and lesser etc.) from bool to uint8.

[1] webmachinelearning/webnn#375

Bug: 382526991,382527250,382526992
Change-Id: I1c782b030cf80e330f99fc0e6e7649d98c0a33d4
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac15.arm64-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6086505
Reviewed-by: Austin Sullivan <[email protected]>
Reviewed-by: ningxin hu <[email protected]>
Commit-Queue: Bin Miao <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1405865}
Currently, this test will fail in all browsers because trusted types isn't enforced without the headers file.
The removed subtest no longer matches the spec.
…ns (#50050)

Previously we expected the sink name to start with Worker. We should be expecting WorkerGlobalScope.
…input is appended to a disconnected subtree

See whatwg/html#10897.

Differential Revision: https://phabricator.services.mozilla.com/D233421

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1938489
gecko-commit: 855cfa4c4274f83399358bf24c316d39bdc6a75a
gecko-reviewers: avandolder
Differential Revision: https://phabricator.services.mozilla.com/D234029

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1940063
gecko-commit: 507fe411e83f1b9fec7ee0444e4f3256efea384b
gecko-reviewers: desktop-theme-reviewers, emilio
…ole family. (#50051)

This was discussed at some length several years ago in
#28990,
but the test there never got merged.

Given the time that has passed, it seemed cleanest to rewrite this
as a new PR that simply adds the test we concluded was missing.

This test depends on having a locally-installed Arial font family,
which is true across all current macOS and Windows versions,
but may not be the case on other platforms; in that case it falls back
to Ahem and should harmlessly "pass" without really testing anything.
graveljp and others added 30 commits January 27, 2025 13:36
The canvas element 2d.composite WPT tests are naming auxiliary canvases
"canvas2", whereas the offscreen equivalent tests are naming them
"offscreenCanvas2". Updating the offscreen tests to use the same name as
the element tests will allow a follow-up CL to merge the two
implementations to use a common shared test body.

Bug: 40207206
Change-Id: Ib0c7335d41c9d77d1aca95b19518d4a8d0a877dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6192522
Commit-Queue: Jean-Philippe Gravel <[email protected]>
Reviewed-by: Andres Ricardo Perez <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411816}
This is required for the same reason dialog:modal resets interactivity
according to spec in the top layer. So strictly not covered by the
spec yet.

Bug: 370065759
Change-Id: I98e4c54f3fab7ed432bef6331701f5d8305d3646
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198205
Commit-Queue: Rune Lillesveen <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411818}
If an IDP calls IdentityProvider.close during the login flow,
but did not send a login status header before that, we
currently never reject the promise -- the FedCM flow just
hangs forever.

This makes it so that we reject the promise in this situation.

Bug: 385209477
Change-Id: I322e1b3aef8205c398f1c31aafc9f55f56ff78c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6175704
Commit-Queue: Christian Biesinger <[email protected]>
Reviewed-by: Nicolás Peña <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411864}
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.13.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@67a2d40...ca877d9)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This change aligns this test with 2d.composite.canvas, which sets the
canvas size explicitly. This will allow both tests to have the same
shared implementation when we migrate them to the new test generator.

Bug: 40207206
Change-Id: Ic282b4d66db7bf4559cce57153e44b2b58bab607
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6192523
Commit-Queue: Jean-Philippe Gravel <[email protected]>
Reviewed-by: Andres Ricardo Perez <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411904}
No test was currently using this feature, so the missing newline went
unnoticed. This feature will be used in a follow-up CL, when we migrate
the 2d.composite meta tests to the new test generator.

Bug: 40207206
Change-Id: Iafa23787b7f4575b22f2fe26b4ff7017ad3c5910
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6192524
Reviewed-by: Andres Ricardo Perez <[email protected]>
Commit-Queue: Jean-Philippe Gravel <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411960}
This CL slightly simplifies the Observable async iterable subscription
flow by moving the abort signal check *after* the null `ScriptIterator`
check. This has two effects:
  1. Allows us to remove one call to `ClearAbortAlgorithm()`, since we
     are assigning the abort algorithm handle *after* the null
     `ScriptIterator` check, and that check is the last opportunity to
     cancel the subscription
  2. Brings the async iterable subscription path inline with the *sync*
     subscription path, which is ordered similarly [1]

This has a very subtle behavior change, so this CL also adds a test for
this case. The spec will be updated accordingly.

[1]:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/observable.cc;l=1990-2019;drc=4b00956a8d971cf5ec8ec45a105b5dd8802d4a42

R=masonf

Bug: 363015168
Change-Id: Idf43bed901b1339d3581ce97c1cd02a0ac6b8b48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6199630
Reviewed-by: Mason Freed <[email protected]>
Commit-Queue: Dominic Farolino <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1411976}
The background of this CL can be found here:
WICG/webcomponents#1071

Currently, the main logic for retrieving the referenced target is
implemented in GetShadowReferenceTarget. However, the function has a
limitation where when it returns nullptr, it’s unclear whether it's due
to the element lacking a shadow root with a specified referenceTarget,
or because the referenceTarget has an invalid ID.

This CL re-implements the retrieval logic in
GetShadowReferenceTargetOrSelf, so instead of calling
GetShadowReferenceTarget, it checks shadow root (recursively if nested
layers) and returns the target element. If at any layer, referenceTarget
is specified but the ID is invalid, it returns nullptr.

This CL also updates 2 existing tests to verify nullptr is returned, and
adds 3 more tests to verify nested cases and duplicate IDs.

Note: 1. const Element* GetShadowReferenceTargetOrSelf is removed as
it's not used.

2.
content/test/data/accessibility/aria/aria-activedescendant-reference-target-dynamic-expected-blink.txt
is rebaselined. The result matches the behavior where
aria-activedescendant is set to an invalid ID, e.g.,
aria-activedescendant="invalid-id" in
content/test/data/accessibility/aria/aria-activedescendant-reference-target-dynamic.html

3. we might be able to update all callers of GetShadowReferenceTarget to
call GetShadowReferenceTargetOrSelf, which would make the logic easier
to follow. This will be addressed in another CL.

Bug: 374127243
Change-Id: I3972569e0f262911a1f888d3cf372f056e215bcf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6199823
Reviewed-by: Mason Freed <[email protected]>
Reviewed-by: Dan Clark <[email protected]>
Commit-Queue: Alex Keng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412034}
As proposed in w3c/ServiceWorker#1747,
let me make the Chromium validate the requestMethod with
https://fetch.spec.whatwg.org/#concept-method and
https://fetch.spec.whatwg.org/#forbidden-method

There is also ongoing spec change in:
w3c/ServiceWorker#1748

Change-Id: I34b4ebb467b7e45bf36d972764c2cfaf8b059019
Bug: 391722219
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6191305
Reviewed-by: Keita Suzuki <[email protected]>
Reviewed-by: Shunya Shishido <[email protected]>
Reviewed-by: Takashi Toyoshima <[email protected]>
Commit-Queue: Yoshisato Yanagisawa <[email protected]>
Reviewed-by: Minoru Chikamune <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412047}
The test failed on headless_shell because document.execCommand() is
returning false for copy and paste commands, causing the expected and
actual results to not match. This CL resolves the issue by using
test_driver.Actions() instead of execCommand for copy and paste
operations.

Bug: 366311855
Change-Id: I3a27acc1da37fdd20311ec8a7780c7905ee8952d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6197576
Reviewed-by: Siye Liu <[email protected]>
Reviewed-by: Sambamurthy Bandaru <[email protected]>
Reviewed-by: Kent Tamura <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Commit-Queue: Tanu Jain <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412050}
Anonymous text content child of ::scroll-button and ::scroll-marker
should return its pseudo element parent as hit test result.

Fixed: 391623869
Change-Id: I5de80192cf6a99eb5d326c5d0ef4e371a9d9b098
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198872
Reviewed-by: Rune Lillesveen <[email protected]>
Commit-Queue: Daniil Sakhapov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412055}
See w3c/trusted-types#520

We add tests for:

- Names that don't correspond to any event handler attribute.
- Names that don't correspond to an event handler attribute on any element.
- Names that don't correspond to an event handler attribute for the modified element.
When running the InsertListCommand function, it first unlistifies
the node and then listifies it according to different scenarios.
However, it only listifying the selected node instead
of the entire child node.

After this change, it will first listify the placeholder and then move
the complete content of the child node into the placeholder's position.
Changed few wpt according to spec.
https://w3c.github.io/editing/docs/execCommand/#toggling-lists

As queryCommandState('insertorderedlist')  check if complete list is
ordered or not (i.e. there should be no unordered nested list in it),
changed few queryCommandState.

Bug: 41058906
Change-Id: I308ea47d8a166b88d739d862189878b4081b8481
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6090765
Reviewed-by: Kent Tamura <[email protected]>
Reviewed-by: Sambamurthy Bandaru <[email protected]>
Commit-Queue: Shweta Bindal <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412140}
In the recent wpt roll [0] some logic from wpt/interfaces/css-fonts.idl
was moved to wpt/interfaces/css-fonts-5.idl, updated
wpt/css-fonts/idlharness.html accordingly.

[0] https://crrev.com/c/6179770

Bug: 390559087
Change-Id: I9c852502cabeb8b0ca0accdc575d632a8a145e94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198327
Commit-Queue: Munira Tursunova <[email protected]>
Reviewed-by: Dominik Röttsches <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412176}
Inert elements may have non-inert descendants when made inert by the
interactivity property. Stop trying doing anything smart for modal and
fullscreen elements.

TEST=external/wpt/inert/inert-with-fullscreen-element.html
TEST=external/wpt/inert/inert-with-modal-dialog-003.html

Bug: 370065759
Change-Id: I48396644a9cf58ca6fc949ee66f9c1e7d34131fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198191
Auto-Submit: Rune Lillesveen <[email protected]>
Commit-Queue: Steinar H Gunderson <[email protected]>
Reviewed-by: Steinar H Gunderson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412177}
The spec text for `block-ellipsis`, which describes the presence and
behavior of the line-clamp ellipsis, says that that ellipsis is
wrapped in an anonymous inline which is a direct child of the root
inline box, and which is assigned `unicode-bidi: plaintext` and
`line-height: 0`.

We don't implement the ellipsis as an inline, let alone one with
computed styles. However, the `line-height: 0` requirement means that
the ellipsis should not cause the line box's height to grow, which is
already the case in our implementation. However, this was not tested
in WPT (or in Chrome-specific tests) until now.

Since the ellipsis inline would have the same font and font-size
styles as the IFC root, and it only contains text, the only way that
it could possibly grow the line box's height would be if the text uses
a fallback font with taller metrics. Since Gentium Plus happens to
have taller font metrics than Ahem, we use these fonts in `@font-face`
declarations with the `unicode-range` property to make sure the
ellipsis renders with Gentium Plus rather than Ahem.

Bug: 40336192
Change-Id: I2ba375cd25cde8444a848243bbe287ddc7cdafba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198346
Reviewed-by: Koji Ishii <[email protected]>
Commit-Queue: Andreu Botella <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412186}
Fixed: 392667948
Change-Id: I959dc591cb247f8acfacd4282d6cdd42d35b2d06
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6204522
Reviewed-by: Rune Lillesveen <[email protected]>
Commit-Queue: Steinar H Gunderson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412193}
…tart)From` treat the ancestor limiter is a block when `display: inline-block

Chromium considers whether an element is block or inline with `display-outside`.
Therefore, they treat `inline-block` is an inline element.  For following the
behavior, we use `BlockInlineCheck::UseComputedDisplayOutsideStyle` in many
places.  However, if `WSRunScanner` works for considering a collapsible
white-space visibility, it needs to treat `inline-block` as a block only when
it's an ancestor.

In the reported case, the editing host is `inline-block`.  So, `WSRunScanner`
reached the ancestor limiter if scanning only editable nodes.  To fix this bug,
this changes the behavior only when the scanner reached the ancestor limiter.

In the future, we need to change the scanner methods of `HTMLEditUtils`
use the new inline methods.

Differential Revision: https://phabricator.services.mozilla.com/D235530

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1943656
gecko-commit: 7352a8603dbd8129ebe21cc85911a9ee23f813f2
gecko-reviewers: m_kato
This CL adds and supplements a few tests:

  1. First we modify the existing "subscribe with aborted signal" tests.
     Specifically, we expand their assertions to not only assert that
     `next()` isn't ever called, but make more assertions about the
     iterator protocol getter and function invocations in general.
  2. Second, we modify the test that asserts `next()` is not called
     when you subscribe with an unaborted signal, but that signal gets
     aborted while the iterator protocol methods are called during
     subscription of the Observable. We expand the assertions in the
     same way as (1), and combine the two separate tests into one that
     covers both sync and async iterators, also to match (1).
  3. Finally, this CL adds a sync iterable version of the test added in
     https://crrev.com/c/6199630. The test scenario is: you subscribe to
     a sync iterable with an unaborted signal that gets aborted while
     obtaining the iterator (just like (2)), BUT while getting the
     iterator, an error is thrown. The tests asserts that the error is
     reported to the global before we consult the aborted signal and
     stop the subscription process. This ensures that the exception is
     not swallowed, but is appropriately surfaced, even though the
     subscription is aborted.

This corresponds with the spec PR:
WICG/observable#192.

R=masonf

Bug: 363015168
Change-Id: Ida605c49a2d73cd407a9dc3c392d6b2f338855be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6202182
Commit-Queue: Dominic Farolino <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412315}
(This required disabling the optimization of not sending it to the
worklet if sendCreativeScanningMetadata is off, since it's now passed to
the JS in that case).

See
WICG/turtledove#792 (comment)
for more context.

Bug: 383513677

Change-Id: I7b40f47c102a0e9d8160ab33cb9e4eb7553ab02a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6190108
Commit-Queue: Maks Orlovich <[email protected]>
Reviewed-by: Orr Bernstein <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412359}
Since out-of-flow positioned boxes don't affect anything on the outside,
it's not necessary to force size containment on them.

They still need layout containment, though, since a scroll marker group
modifies its layout tree structure during layout.

Bug: 391612994
Change-Id: I90fd535cf1c36d00b9353fcd5948c7636bf968f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6206666
Reviewed-by: Rune Lillesveen <[email protected]>
Commit-Queue: Morten Stenshorne <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412374}
The former doesn't exist, while the latter does. No functional
change, other than a better error message if these conditions
get hit.

Change-Id: I445fdfea20afcf8d40100b898e1bc9b860377247
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6206916
Reviewed-by: Di Zhang <[email protected]>
Commit-Queue: Mason Freed <[email protected]>
Auto-Submit: Mason Freed <[email protected]>
Commit-Queue: Di Zhang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412390}
The new test in the original patch was failing on a Linux UBSan bot,
which revealed that OptionListIterator::operator*() was dereferencing a
null element. I fixed this by adjusting the test and adding a DCHECK to
make sure the element is not null before dereferencing. I also added a
WPT to make sure that the DCHECK doesn't get hit.

This reverts commit 3bef4696dcb69725d3f1c72a0984ba91c2e00056.
Original patch: commit 505729eedfd6243a6520d9fd09012b5dde449511

Fixed: 388299752
Change-Id: I01712fec0479ca567121051b33e6478cf77818b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203424
Commit-Queue: Traian Captan <[email protected]>
Auto-Submit: Joey Arhar <[email protected]>
Reviewed-by: Traian Captan <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412393}
The canvas test generator uses Jinja to expand templates and
parameters. Not all parameters are templated though. We can speed-up the
test generator by only doing the Jinja rendering on strings that contain
Jinja tags. With this change, the generator run time goes from 11.8s to
7.2s.

Bug: 40207206
Change-Id: Ibad32d54251501b3cc32238ad5daa5d0e3dd8914
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6204381
Reviewed-by: Andres Ricardo Perez <[email protected]>
Commit-Queue: Jean-Philippe Gravel <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412524}
Switches to ModelStreamingResponder in preparation for implementing the
translateStreaming.

Some side effects of switching to ModelStreamingResponder is that:
- We'll now be collecting metrics on the translator's response status,
  size, and count.
- The signal option is now fully implemented for translate. Added a WPT
  to test.

Bug: 380756385
Change-Id: Idcf126839a732af9ad9bd499a095d86e68e2a6ce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6197550
Reviewed-by: Matthew Denton <[email protected]>
Commit-Queue: Nathan Memmott <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412529}
Implements translateStreaming function of AITranslator. Currently
streams the response all in one chunk since the browser currently
doesn't support streaming translate.

Bug: 380756385
Change-Id: I5cee1d4c7a35856ee1fde6730931931daac9f3ce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203482
Reviewed-by: Jiacheng Guo <[email protected]>
Commit-Queue: Nathan Memmott <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412530}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.